package com.aliyun.messagemgt.application.service;

import com.aliyun.messagemgt.dto.base.*;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * <p>
 * 基础表-接收组表 服务类
 * </p>
 *
 * @author wugongzi
 * @since 2021-09-28
 */
public interface BaseReceiveGroupService {

    /**
     * 接收组分页查询
     * @param baseReceiveGroupQry
     * @return
     */
    PageInfo<BaseReceiveGroupDetailDTO> page(BaseReceiveGroupQry baseReceiveGroupQry);

    /**
     * 删除接收组
     * @param id
     * @return
     */
    Boolean delete(Long id);

    /**
     * 更新接收组
     * @param cmd
     * @return
     */
    Boolean update(BaseReceiveGroupUpdateCmd cmd);

    /**
     * 新增接收组
     * @param cmd
     * @return
     */
    Boolean add(BaseReceiveGroupAddCmd cmd);

    /**
     * 查询接收组详情
     * @param id
     * @return
     */
    BaseReceiveGroupDetailDTO get(Long id);

    /**
     * 根据租户编码、接收组编码查询接收组详情
     * @param tenantCode
     * @param receiveGroupCodes
     * @return
     */
    List<BaseReceiveGroupDetailDTO> selectList(String tenantCode, List<String> receiveGroupCodes);

    /**
     * 根据接收组编码获取接收组详情
     * @param receiveGroupCode
     * @return
     */
    BaseReceiveGroupDetailDTO getByReceiveGroupCode(String receiveGroupCode);
}
